//                 ,  , 
//                / \/ \,'| _ 
//               ,'    '  ,' |,| 
//              ,'           ' |,'|
//             ,'                 ;'| _ 
//            ,'                    '' | 
//           ,'                        ;-, 
//          (___                        / 
//        ,'    `.  ___               ,' 
//       :       ,`'   `-.           / 
//       |-._ o /         \         / 
//      (    `-(           )       / 				To compile the files type in the terminal:
//     ,'`.     \      o  /      ,' 				g++ file_name.C -o executable_name
//    /    `     `.     ,'      / 
//   (             `"""'       / 
//    `._                     / 
//       `--.______        '"`. 
//          \__,__,`---._   '`; 
//               ))`-^--')`,-' 
//             ,',_____,'  | 
//             \_          `). 
//               `.      _,'  ` 
//               /`-._,-'      \ 
//
//
//*********************************************************************************************************************************



#include <iostream> 
using namespace std;

template <class T>		//function template declaration with identifier T
T addval(T a, T b) 		//inline function with identifier T as return type and input parameters
{ 
	T result;
	result = a + b;
	return (result); 
} 

int main ( )
{
	int k = 6, m = 4, p;
	double n = 3.14, r = 13.01, u;
	
	p = addval <int> (k,m);			//call to function template
	u = addval <double> (n,r);		//call to function template
	
	cout << "The result is " << p << endl;
	cout << "The result is " << u << endl;
	
	return 0;
}